/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hxg.portmgr.core.dao;

import hxg.portmgr.core.device.Device;
import hxg.portmgr.core.device.intf.Intf;
import java.util.Collection;
import java.util.Set;
import hxg.portmgr.core.line.Line;

/**
 *
 * @author hxg
 */
public interface LineDAO extends DataSource{

    public Line connect(Intf inf1, Intf inf2);

    public Line connect(Intf inf1, String connPoint);
    
    public Line disConnect(Intf inf);

    public Line getLine(Intf inf);

    public Intf getOtherIntf(Intf inf);
    
    public String getOtherSideName(Intf inf);
    
    public boolean isConnected(Intf inf);
    
    public Collection<Line> getLines();
    
    public boolean isReady();

    Set<Line> getLineOfDevice(Device dev);

    Set<Device> getLinkedDevice(Device dev);

    Set<Device> getLinkedDevice(Line line);
}
